package cn.xhy.material.service.commodityinfo;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.xhy.material.controller.admin.commodityinfo.vo.CommodityInfoPageReqVO;
import cn.xhy.material.controller.admin.commodityinfo.vo.CommodityInfoRespVO;
import cn.xhy.material.controller.admin.commodityinfo.vo.CommodityInfoSaveReqVO;
import cn.xhy.material.dal.dataobject.commodityinfo.CommodityInfoDO;

import javax.validation.*;
/**
 * 商品信息 Service 接口
 *
 * @author xhy
 */
public interface CommodityInfoService {

    /**
     * 创建商品信息
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createCommodityInfo(@Valid CommodityInfoSaveReqVO createReqVO);

    /**
     * 更新商品信息
     *
     * @param updateReqVO 更新信息
     */
    void updateCommodityInfo(@Valid CommodityInfoSaveReqVO updateReqVO);

    /**
     * 删除商品信息
     *
     * @param id 编号
     */
    void deleteCommodityInfo(Long id);

    /**
     * 获得商品信息
     *
     * @param id 编号
     * @return 商品信息
     */
    CommodityInfoDO getCommodityInfo(Long id);

    /**
     * 获得商品信息分页
     *
     * @param pageReqVO 分页查询
     * @return 商品信息分页
     */
    PageResult<CommodityInfoDO> getCommodityInfoPage(CommodityInfoPageReqVO pageReqVO);

    PageResult<CommodityInfoRespVO> getCommodityInfoPageList(CommodityInfoPageReqVO pageReqVO);

}
